// samsting : this file is auto create.

#ifndef ALIYUN_Ons_OnsTopicSearchResponse_H_
#define ALIYUN_Ons_OnsTopicSearchResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ons {

class OnsTopicSearchResponse : public AcsResponse {
public:
  OnsTopicSearchResponse();

  class PublishInfoDo {
    friend class OnsTopicSearchResponse;
  public:
    int64 GetId(void) const;
    int  GetChannelId(void) const;
    const string& GetChannelName(void) const;
    const string& GetRegionId(void) const;
    const string& GetRegionName(void) const;
    const string& GetTopic(void) const;
    const string& GetOwner(void) const;
    int  GetRelation(void) const;
    const string& GetRelationName(void) const;
    int  GetStatus(void) const;
    const string& GetStatusName(void) const;
    int  GetAppkey(void) const;
    int64 GetCreateTime(void) const;
    int64 GetUpdateTime(void) const;
    const string& GetRemark(void) const;
  private:
    int64  Id_;
    int    ChannelId_;
    string ChannelName_;
    string RegionId_;
    string RegionName_;
    string Topic_;
    string Owner_;
    int    Relation_;
    string RelationName_;
    int    Status_;
    string StatusName_;
    int    Appkey_;
    int64  CreateTime_;
    int64  UpdateTime_;
    string Remark_;
  }; // PublishInfoDo 

  const std::vector<PublishInfoDo>& GetData(void) const;
  const string& GetHelpUrl(void) const;

private:
  std::vector<PublishInfoDo> Data_;
  string HelpUrl_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ons {

#endif // #ifndef ALIYUN_Ons_OnsTopicSearchResponse_H_

// end of file 
